/**
 * 
 */
package No1_100.No11_20.FourSum_18;

import java.util.ArrayList;
import java.util.List;

/** 
 * @author  作者 E-mail: ttljtw@qq.com
 * @date 创建时间：2017年3月4日 下午1:31:07 
 * @version 1.0 
 * @parameter  
 * @since  
 * @return  
 */
/**
 * @author 李敬
 *
 */
public class Solution {
	
	public static List<List<Integer>> fourSum(int[] nums, int target) {
//        int[] a = new int[nums.length];
        List<List<Integer>> ret = new ArrayList<List<Integer>>();
        List<Integer> temp = new ArrayList<>();
		cal(0, nums, target, temp ,0, ret);
		System.out.println(1);
        return ret;
    }
	
	static void cal(int a,int[] nums,int target, List<Integer> temp,int sum, List<List<Integer>> ret){
		if(temp.size() >= 4){
			if (sum == target) {
				List<Integer> in= new ArrayList<>();
				int i = 0;
				while(i<4){
					in.add(temp.get(i++));
				}
				if(!ret.contains(in)){
					ret.add(in);
				}
				return;//返回链表
			}
			return;//返回空
		}
		if(a >= nums.length){
			return ;
		}
		else {
			temp.add(nums[a]);
	        cal(a + 1, nums, target, temp, sum+nums[a], ret);
	        temp.remove(temp.indexOf(nums[a]));
	        cal(a + 1, nums, target, temp, sum, ret);
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] s = {1, 0, -1, 0, -2, 2};
		fourSum(s,0);
		System.out.println(2);
	}

}
